﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

using PortalIntranet.DatabaseComponents.Comun;
using PortalIntranet.DatabaseComponents.Seguranca;
using System.Data.Entity.ModelConfiguration;

namespace PortalIntranet.DatabaseComponents.Administracao
{
	[Serializable]
	[Table("Empresas")]
	public class Empresa : Entidade
	{
		public Empresa()
		{
			this.Departamentos = new HashSet<Departamento>();
			this.Grupos = new HashSet<Grupo>();
		}

		[Required, MaxLength(50)]
		public string Nome { get; set; }

		[Required, MaxLength(50)]
		public string Fantasia { get; set; }

		[MaxLength(100)]
		public string Endereco { get; set; }

		[MaxLength(50)]
		public string Bairro { get; set; }

		[MaxLength(50)]
		public string Cidade { get; set; }

		#region Estado
		public int EstadoId { get; set; }

		public virtual Estado Estado { get; set; }
		#endregion

		[MaxLength(30)]
		public string Telefone { get; set; }

		[MaxLength(30)]
		public string Site { get; set; }

		[MaxLength(20)]
		public string Cnpj { get; set; }

		[MaxLength(50)]
		public string Logo { get; set; }

		#region Navegação
		public virtual ICollection<Departamento> Departamentos { get; set; }

		public virtual ICollection<Grupo> Grupos { get; set; }
		#endregion
	}
}
